package com.udi.project.business.upload.diup.domain;


import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;

import java.util.List;
/**
 * @author Admin
 * 产品标识数据填报，实体
 */
@Getter
@Setter
public class Product {
    /** 主键编号*/
    private int di_identity_id;
    /** 0（草稿），1（填报验证成功，未申报），2申报中，3申报成功 */
    private String use;
    /** 接口调用凭据*/
    private String accessToken;
    /** 数据申报类型：add:新增,modify：修改编辑,change：公示数据变更*/
    private String uploadType;
    /**当数据申报类型为 modify 或change 时，数据库记录key 必填 */
    private String deviceRecordKey;
    /** 最小销售单元产品标识 */
    @JsonProperty("ZXXSDYCPBS")
    private String ZXXSDYCPBS;
    /** 最小销售单元中使用单元的数量 */
    @JsonProperty("ZXXSDYZSYDYDSL")
    private String ZXXSDYZSYDYDSL;
    /** 使用单元产品标识*/
    private String SYDYCPBS;
    /** 产品标识编码体系名称，如 GS1，MA 码 （IDcode）*/
    private String CPBSBMTXMC;
    /** 是否包含本体标识； 1 是 0 否*/
    private String SFYBTZJBS;
    /** 本体产品标识与最小销售单元产品标识是否一致 ； 1 是 0 否*/
    private String BTCPBSYZXXSDYCPBSSFYZ;
    /** 医疗器械本体标识中的产品标识*/
    private String BTCPBS;
    /** 标识载体，1 一维码,2 二维码，3 RFID，4 其他； 1 参数为 json 字符串 2 当类型为 change 时， 2.1、存储或 操作信息，临 床尺寸信息， 会按照最新的 数据进行覆 盖，若原信息 需要继续保 留，请在原数 据的基础上增 加需要的信 息，进行数据 传输； 2.2 包装产品
     5 如存在多种，则按照以下规则填写：1,2,3；‘,’为英文状态"*/
    private String BSZT;
    /** 是否与注册/备案标识一致； 1 是 0 否*/
    private String SFYZCBAYZ;
    /** 注册/备案产品标识*/
    private String ZCBACPBS;
    /** 产品标识发布时间；格式:2019-09-12*/
    private String CPBSFBRQ;
    /** 产品名称/通用名称*/
    private String CPMCTYMC;
    /** 商品名称*/
    private String SPMC;
    /** 规格型号*/
    private String GGXH;
    /** 医疗器械是否为包类/组套类产品：1 是 0 否*/
    private String SFWBLZTLCP;
    /** 产品描述信息*/
    private String CPMS;
    /** 产品货号或编号*/
    private String CPHHHBH;
    /** 产品类型：1 器械 ； 2 体外诊断试剂*/
    private String CPLX;
    /** 器械目录分类代码，数据格式按照：器械分类编码-一 级分类编码-二级分类编码（01-01-01），
     * 一级、二级分类不明确的情况下用 00 代替；产品类型为体外试剂时：数据格式为：6840-001*/
    private String FLBM;
    /** 原器械目录分类代码*/
    private String YFLBM;
    /** 注册/备案人名称*/
    private String YLQXZCRBARMC;
    /** 注册/备案证对应的注册人/备案人的英文名称*/
    private String YLQXZCRBARYWMC;
    /** 统一社会信用代码，境外企业填写境内代理人的 统 一社会信用代码*/
    private String TYSHXYDM;
    /** 注册/备案证号，多个之间用英文状态‘,’ 分隔*/
    private String ZCZBHHZBAPZBH;
    /** 耗材或者设备：0耗 材，1 设 备*/
    private String HCHZSB;
    /** 标记为一次性使用：0 否， 1 是*/
    private String SFBJWYCXSY;
    /** 医疗器械的最大重复使用次数*/
    private String ZDCFSYCS;
    /** 医疗器械是否为已灭菌产品：1 是 0 否*/
    private String SFWWJBZ;
    /** 医疗器械使用前是否需要进行灭菌；1 是 0 否*/
    private String SYQSFXYJXMJ;
    /**医疗器械的灭菌方式*/
    private String MJFS;
    /** 医保编码*/
    private String YBBM;
    /** 磁共振（MR）安全相关信息；0 安全 ，1 条 件安全， 2 不安全 ，3 说明书或标签上面不包括 MR 安全信息*/
    private String CGZMRAQXGXX;

    /** 包 装 产 品 标 识 String BZCPBS;*/
   private List<DevicePackage> devicePackageList;

    /** 储存或操作条件 */
    private List<DeviceStorage> deviceStorageList;
    /** 特殊储存或操作条件 */
    private String TSCCHCZTJ;

    /** 尺寸类型 String */
    private List<DeviceClinical> deviceClinicalList;
    /** 特殊使用尺寸说明*/
    private String TSCCSM;

    /** 医疗器械生产标识是否包含批号：1 是 0 否*/
    private String SCBSSFBHPH;
    /** 医疗器械生产标识是否包含序列号：1 是 0 否*/
    private String SCBSSFBHXLH;
    /** 医疗器械生产标识是否包含生产日期：1 是 0 否*/
    private String SCBSSFBHSCRQ;
    /** 医疗器械生产标识是否包含失效日期：1 是 0 否*/
    private String SCBSSFBHSXRQ;
    /** 其他信息的网址链接*/
    private String QTXXDWZLJ;
    /** 医疗器械在流通领域停止销售的时间*/
    private String TSRQ;
    /** 变更说明*/
    private String BGSM;

    @Override
    public String toString() {
        return  "{"+"\"uploadType\":\""+uploadType+
                "\","+"\"deviceRecordKey\":\""+deviceRecordKey+
                "\","+"\"ZXXSDYCPBS\":\""+ZXXSDYCPBS+
                "\","+"\"ZXXSDYZSYDYDSL\":\""+ZXXSDYZSYDYDSL+
                "\","+"\"SYDYCPBS\":\""+SYDYCPBS+
                "\","+"\"CPBSBMTXMC\":\""+CPBSBMTXMC+
                "\","+"\"SFYBTZJBS\":\""+SFYBTZJBS+
                "\","+"\"BTCPBSYZXXSDYCPBSSFYZ\":\""+BTCPBSYZXXSDYCPBSSFYZ+
                "\","+"\"BTCPBS\":\""+BTCPBS+
                "\","+"\"BSZT\":\""+BSZT+
                "\","+"\"SFYZCBAYZ\":\""+SFYZCBAYZ+
                "\","+"\"ZCBACPBS\":\""+ZCBACPBS+
                "\","+"\"CPBSFBRQ\":\""+CPBSFBRQ+
                "\","+"\"CPMCTYMC\":\""+CPMCTYMC+
                "\","+"\"GGXH\":\""+GGXH+
                "\","+"\"SFWBLZTLCP\":\""+SFWBLZTLCP+
                "\","+"\"CPMS\":\""+CPMS+
                "\","+"\"HCHZSB\":\""+HCHZSB+
                "\","+"\"CPHHHBH\":\""+CPHHHBH+
                "\","+"\"CPLX\":\""+CPLX+
                "\","+"\"FLBM\":\""+FLBM+
                "\","+"\"YFLBM\":\""+YFLBM+
                "\","+"\"YLQXZCRBARMC\":\""+YLQXZCRBARMC+
                "\","+"\"YLQXZCRBARYWMC\":\""+YLQXZCRBARYWMC+
                "\","+"\"TYSHXYDM\":\""+TYSHXYDM+
                "\","+"\"ZCZBHHZBAPZBH\":\""+ZCZBHHZBAPZBH+
                "\","+"\"SFBJWYCXSY\":\""+SFBJWYCXSY+
                "\","+"\"ZDCFSYCS\":\""+ZDCFSYCS+
                "\","+"\"SFWWJBZ\":\""+SFWWJBZ+
                "\","+"\"SYQSFXYJXMJ\":\""+SYQSFXYJXMJ+
                "\","+"\"MJFS\":\""+MJFS+
                "\","+"\"YBBM\":\""+YBBM+
                "\","+"\"CGZMRAQXGXX\":\""+CGZMRAQXGXX+
                "\",\"devicePackage\":"+ devicePackageList+",\"deviceStorage\":"+ deviceStorageList+
                ",\"TSCCHCZTJ\":\""+TSCCHCZTJ+
                "\",\"deviceClinical\":"+deviceClinicalList+","+
                "\"TSCCSM\":\""+TSCCSM+
                "\","+"\"SCBSSFBHPH\":\""+SCBSSFBHPH+
                "\","+"\"SCBSSFBHXLH\":\""+SCBSSFBHXLH+
                "\","+"\"SCBSSFBHSCRQ\":\""+SCBSSFBHSCRQ+
                "\","+"\"SCBSSFBHSXRQ\":\""+SCBSSFBHSXRQ+
                "\","+"\"QTXXDWZLJ\":\""+QTXXDWZLJ+
                "\","+"\"TSRQ\":\""+TSRQ+
                "\","+"\"BGSM\":\""+BGSM+"\""+"}";
    }
}
